﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace Sige
{
    public class Clase_Localidades
    {
        private string codigolocalidad;
        private string descripcion;
        private bool estado;

        public string Codigo_Localidad
        {
            get { return codigolocalidad; }
            set { codigolocalidad = value; }
        }

        public string Descripcion
        {
            get { return descripcion; }
            set { descripcion = value; }
        }

        public bool Estado
        {
            get { return estado; }
            set { estado = value; }
        }

        public bool Localidad_Existente(string rutabd, string codigo, ref string desc)
        {
            Accesoadatos datos = new Accesoadatos();
            SqlConnection cn = datos.ObtenerConexion(rutabd);
            SqlCommand cmd;
            SqlDataReader dr;
            bool existe = false;
            string consulta = "Select * from localidades where codigolocalidad = '" + codigo + "'";
            cmd = new SqlCommand(consulta, cn);
            try
            {
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    desc = dr[1].ToString();
                    existe = true;
                }
            }
            catch
            {
                return false;
            }
            finally
            {
                cn.Close();
            }
            return existe;
        }

        public bool Descripcion_Localidad_Existente(string rutabd, string descripcion)
        {
            Accesoadatos datos = new Accesoadatos();
            SqlConnection cn = datos.ObtenerConexion(rutabd);
            SqlCommand cmd;
            SqlDataReader dr;
            bool existe = false;
            string consulta = "Select * from localidades where descripcion = '" + descripcion + "'";
            cmd = new SqlCommand(consulta, cn);
            try
            {
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    existe = true;
                }
            }
            catch
            {
                return false;
            }
            finally
            {
                cn.Close();
            }
            return existe;
        }

        public bool Insertar(ref string err)
        {
            bool insert = true;
            Accesoadatos datos = new Accesoadatos();
            SqlConnection cn = new SqlConnection(datos.getruta());
            cn.Open();
            SqlCommand cmd = new SqlCommand();
            //DEFINO EL COMANDO COMO TEXTO:
            cmd.CommandType = System.Data.CommandType.Text;
            //DEFINO LA SENTENCIA SQL:
            cmd.CommandText = "INSERT localidades (codigolocalidad, descripcion, estado) values (@codigolocalidad, @descripcion, 1)";
            //DEFINO LOS PARÁMETROS:
            cmd.Parameters.AddWithValue("@codigolocalidad", this.Codigo_Localidad);
            cmd.Parameters.AddWithValue("@descripcion", this.Descripcion);
            cmd.Connection = cn;
            //COMIENZA LA EJECUCIÓN DEL COMANDO:
            try
            {
                cmd.ExecuteNonQuery();
            }
            catch (Exception exc)
            {
                insert = false;
                err = exc.ToString();
            }
            finally
            {
                cn.Close();
            }
            return insert;
        }
    }
}
